/*
 * CompoundPlan.java
 *
 * Copyright 2007 Christoph Csallner and Yannis Smaragdakis.
 */
package edu.gatech.cc.cnc.plans.stmt;

import java.util.List;

import edu.gatech.cc.jcrasher.plans.expr.Variable;
import edu.gatech.cc.jcrasher.plans.stmt.BlockStatement;

/**
 * Sequence of statements, which are enclosed by some block.
 * This enclosing block might contain more statements.
 * 
 * @param type of generated value.
 * 
 * @author csallner@gatech.edu (Christoph Csallner)
 */
public interface BlockStatementSequence<T> extends BlockStatement<T> {

  /**
   * @return list of statements
   */
  public List<BlockStatement<?>> getBlockStmts();

  /**
   * @return variable name of last instance created in block.
   * This holds the return value of the last function called, array created, etc.
   */
  public Variable<T> getVariable();
}
